package com.jrx.anytxn.param.dto.investor;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 出资方提前结清手续费表 请求参数
 *
 * @author 黄秋平
 * @date 2020-05-20 9:49
 **/
@ApiModel(description = "出资方提前结清手续费表PrInvestorPreterminationFeeReq")
public class PrInvestorPreterminationFeeReq implements Serializable {

    private static final long serialVersionUID = -8661163094226764238L;

    /**
     * 自增主键
     * 表字段:id
     */
    @ApiModelProperty(value = "主键id", name = "id")
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    @ApiModelProperty(value = "租户ID")
    private String tenantId;

    /**
     * 费用表id
     * 表字段:investor_pretermination_fee_id
     */
    @ApiModelProperty(value = "费用表id", name = "investorPreterminationFeeId")
    private String investorPreterminationFeeId;

    /**
     * 费用表机构号
     * 表字段:organization_id
     */
    @ApiModelProperty(value = "费用表机构号", name = "organizationId")
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    @ApiModelProperty(value = "中文名称", name = "chineseName")
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    @ApiModelProperty(value = "英文名称", name = "englishName")
    private String englishName;

    /**
     * 状态（1-正常，0-失效)
     * 表字段:status
     */
    @ApiModelProperty(value = "状态（1-正常，0-失效)", name = "status")
    private String tableStatus;

    /**
     * 免收费用需完成的期数
     * 表字段:waive_fee_tenor
     */
    @ApiModelProperty(value = "免收费用需完成的期数", name = "waiveFeeTenor")
    private Integer waiveFeeTenor;

    /**
     * 费用收取方式(0 = 不收取  1 = 按所有剩余期数收取 2 = 按剩余期数中X期收取)
     * 表字段:fee_method
     */
    @ApiModelProperty(value = "费用收取方式(0 = 不收取  1 = 按所有剩余期数收取 2 = 按剩余期数中X期收取)", name = "feeMethod")
    private String feeMethod;

    /**
     * 收取费用期数（X值）(当charge_method = 2时有效)
     * 表字段:fee_tenor
     */
    @ApiModelProperty(value = "收取费用期数（X值）(当charge_method = 2时有效)", name = "feeTenor")
    private Integer feeTenor;

    /**
     * 利息收取方式 0 = 不收取 1 = 按所有剩余期数收取 2 = 按剩余期数中Y期收取
     * 表字段:int_method
     */
    @ApiModelProperty(value = "利息收取方式 0 = 不收取 1 = 按所有剩余期数收取 2 = 按剩余期数中Y期收取", name = "intMethod")
    private String intMethod;

    /**
     * 收取利息期数（Y值)	(当interest_method = 2时有效)
     * 表字段:int_tenor
     */
    @ApiModelProperty(value = "收取利息期数（Y值)\t(当interest_method = 2时有效)", name = "intTenor")
    private Integer intTenor;

    /**
     * 费用收取方式(0 = 按比例收取 1 = 固定金额收取)
     * 表字段:fee_charge_option
     */
    @ApiModelProperty(value = "费用收取方式(0 = 按比例收取 1 = 固定金额收取)", name = "feeChargeOption")
    private String feeChargeOption;

    /**
     * 费用收取比例(fee_charge_option = 0时有效)
     * 表字段:fee_charge_percent
     */
    @ApiModelProperty(value = "费用收取比例(fee_charge_option = 0时有效)", name = "feeChargePercent")
    private BigDecimal feeChargePercent;

    /**
     * 费用固定值(fee_charge_option = 1时有效)
     * 表字段:fee_charge_amount
     */
    @ApiModelProperty(value = "费用固定值(fee_charge_option = 1时有效)", name = "feeChargeAmount")
    private BigDecimal feeChargeAmount;

    /**
     * 最大费用值
     * 表字段:max_amount
     */
    @ApiModelProperty(value = "最大费用值", name = "maxAmount")
    private BigDecimal maxAmount;

    /**
     * 最小费用值
     * 表字段:min_amount
     */
    @ApiModelProperty(value = "最小费用值", name = "minAmount")
    private BigDecimal minAmount;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getInvestorPreterminationFeeId() {
        return investorPreterminationFeeId;
    }

    public void setInvestorPreterminationFeeId(String investorPreterminationFeeId) {
        this.investorPreterminationFeeId = investorPreterminationFeeId;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getTableStatus() {
        return tableStatus;
    }

    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    public Integer getWaiveFeeTenor() {
        return waiveFeeTenor;
    }

    public void setWaiveFeeTenor(Integer waiveFeeTenor) {
        this.waiveFeeTenor = waiveFeeTenor;
    }

    public String getFeeMethod() {
        return feeMethod;
    }

    public void setFeeMethod(String feeMethod) {
        this.feeMethod = feeMethod;
    }

    public Integer getFeeTenor() {
        return feeTenor;
    }

    public void setFeeTenor(Integer feeTenor) {
        this.feeTenor = feeTenor;
    }

    public String getIntMethod() {
        return intMethod;
    }

    public void setIntMethod(String intMethod) {
        this.intMethod = intMethod;
    }

    public Integer getIntTenor() {
        return intTenor;
    }

    public void setIntTenor(Integer intTenor) {
        this.intTenor = intTenor;
    }

    public String getFeeChargeOption() {
        return feeChargeOption;
    }

    public void setFeeChargeOption(String feeChargeOption) {
        this.feeChargeOption = feeChargeOption;
    }

    public BigDecimal getFeeChargePercent() {
        return feeChargePercent;
    }

    public void setFeeChargePercent(BigDecimal feeChargePercent) {
        this.feeChargePercent = feeChargePercent;
    }

    public BigDecimal getFeeChargeAmount() {
        return feeChargeAmount;
    }

    public void setFeeChargeAmount(BigDecimal feeChargeAmount) {
        this.feeChargeAmount = feeChargeAmount;
    }

    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    public BigDecimal getMinAmount() {
        return minAmount;
    }

    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }
}
